{% load i18n sizeformat %}
{% load url from future %}

<h3>{% trans "Instance Overview" %}</h3>

<div class="status detail">
  <h4>{% trans "Information" %}</h4>
  <hr class="header_rule">
  <dl class="dl-horizontal">
    <dt>{% trans "Name" %}</dt>
    <dd>{{ instance.name }}</dd>
    <dt>{% trans "ID" %}</dt>
    <dd>{{ instance.id }}</dd>
    <dt>{% trans "Status" %}</dt>
    <dd>{{ instance.status_label|title }}</dd>
    <dt>{% trans "Availability Zone" %}</dt>
    <dd>{{ instance.availability_zone|default:_("-") }}</dd>
    <dt>{% trans "Created" %}</dt>
    <dd>{{ instance.created|parse_isotime }}</dd>
    <dt>{% trans "Time Since Created" %}</dt>
    <dd>{{ instance.created|parse_isotime|timesince }}</dd>
    {% if is_superuser %}
      <dt>{% trans "Host" %}</dt>
      <dd>{{ instance.host_server|default:_("-") }}</dd>
    {% endif %}
  </dl>
</div>

{% if instance.fault %}
<div class="status detail">
    <h4>{% trans "Fault" %}</h4>
    <hr class="header_rule">
    <dl class="dl-horizontal">
      <dt>{% trans "Message" %}</dt>
      <dd>{{ instance.fault.message }}</dd>
      <dt>{% trans "Code" %}</dt>
      <dd>{{ instance.fault.code }}</dd>
      <dt>{% trans "Details" %}</dt>
      <dd>{{ instance.fault.details }}</dd>
      <dt>{% trans "Created" %}</dt>
      <dd>{{ instance.fault.created|parse_isotime }}</dd>
    </dl>
</div>
{% endif %}

<div class="specs detail">
  <h4>{% trans "Specs" %}</h4>
  <hr class="header_rule">
  <dl class="dl-horizontal">
    <dt>{% trans "Flavor" %}</dt>
    {% if instance.full_flavor %}
      <dd>{{ instance.full_flavor.name }}</dd>
      <dt>{% trans "Flavor ID" %}</dt>
      <dd>{{ instance.full_flavor.id }}</dd>
      <dt>{% trans "RAM" %}</dt>
      <dd>{{ instance.full_flavor.ram|mb_float_format }}</dd>
      <dt>{% trans "VCPUs" %}</dt>
      <dd>{{ instance.full_flavor.vcpus }} {% trans "VCPU" %}</dd>
      <dt>{% trans "Disk" %}</dt>
      <dd>{{ instance.full_flavor.disk }}{% trans "GB" %}</dd>
      {% if instance.full_flavor.ephemeral %}
        <dt>{% trans "Ephemeral Disk" %}</dt>
        <dd>{{ instance.full_flavor.ephemeral }}{% trans "GB" %}</dd>
      {% endif %}
    {% else %}
      {% trans "Not available" %}
    {% endif %}
  </dl>
</div>

<div class="addresses detail">
    <h4>{% trans "IP Addresses" %}</h4>
    <hr class="header_rule">
    <dl class="dl-horizontal">
      {% for network, ip_list in instance.addresses.items %}
        <dt>{{ network|title }}</dt>
        <dd>
          {% for ip in ip_list %}
            {% if not forloop.last %}{{ ip.addr }},&nbsp;{% else %}{{ ip.addr }}{% endif %}
          {% endfor %}
        </dd>
      {% endfor %}
    </dl>
</div>

<div class="security_groups detail">
    <h4>{% trans "Security Groups" %}</h4>
    <hr class="header_rule">
    <dl class="dl-horizontal">
      {% for group in instance.security_groups %}
        <dt>{{ group.name }}</dt>
        <dd>
          <ul>
          {% for rule in group.rules %}
            <li>{{ rule }}</li>
            {% empty %}
            <li><em>{% trans "No rules defined." %}</em></li>
          {% endfor %}
          </ul>
        </dd>
        {% empty %}
        {% trans "Not available" %}
      {% endfor %}
    </dl>
</div>

<div class="meta detail">
    <h4>{% trans "Metadata" %}</h4>
    <hr class="header_rule">
    <dl class="dl-horizontal">
      <dt>{% trans "Key Name" %}</dt>
      {% trans "None" as default_key_name %}
      {% with formatted_default_key_name="<em>"|add:default_key_name|add:"</em>" %}
        <dd>{{ instance.key_name|default:formatted_default_key_name }}</dd>
      {% endwith %}
      <dt>{% trans "Image Name" %}</dt>
      <dd>
        {% if instance.image %}
          <a href="{{ instance.image_url }}">{{ instance.image_name }}</a>
        {% else %}
          <em>{% trans "None" %}</em>
        {% endif %}
      </dd>
      {% with default_item_value="<em>"|add:_("N/A")|add:"</em>" %}
      {% for key, value in instance.metadata.items %}
        <dt>{{ key|force_escape }}</dt>
        <dd>{{ value|force_escape|default:default_item_value }}</dd>
      {% endfor %}
      {% endwith %}
    </dl>
</div>

<div class="volumes detail">
    <h4>{% trans "Volumes Attached" %}</h4>
    <hr class="header_rule">
    <dl class="dl-horizontal">
    {% for volume in instance.volumes %}
        <dt>{% trans "Attached To" %}</dt>
        <dd>
            {% url instance.volume_url volume.id as volume_url %}
            {% blocktrans with volume_label=volume.name|default:volume.id volume_device=volume.device %}
            <a href="{{ volume_url }}">{{ volume_label }}</a> on {{ volume_device }}
            {% endblocktrans %}
        </dd>
        {% empty %}
        <dt>{% trans "Volume" %}</dt>
        <dd><em>{% trans "No volumes attached." %}</em></dd>
    {% endfor %}
    </dl>
</div>
